New editing mechanism for small screens#76741
New editing mechanism for small screens#76741Kureev wants to merge 268 commits intoExpensify:mainfrom
Conversation
Code Review SummaryI've completed a comprehensive review of this PR. The implementation adapts message editing behavior based on screen size, using the bottom composer for narrow layouts and maintaining inline editing for wide layouts. Key Findings✅ Strengths:
Several inline comments have been posted with specific suggestions. The main areas of concern are:
Testing RecommendationsBeyond the test plan provided:
Overall, this is a solid implementation that addresses the UX issues with inline editing on mobile. The inline comments provide specific suggestions for improvement. |
Codecov Report❌ Looks like you've decreased code coverage for some files. Please write tests to increase, or at least maintain, the existing level of code coverage. See our documentation here for how to interpret this table.
|
Simulator.Screen.Recording.-.iPhone.17.-.2025-12-05.at.11.09.48.mov |
|
@Kureev I think you have linked wrong issue Can you please post videos of the behaviour before and after this change with clear explanation of what the changes are so the design and product team can discuss this? |
|
Oops, I lost track of this one so I’ll catch up on the context and review it later today. Currently, we still have a conflict on this PR. |
|
@Kureev Hi! I notice this PR references fix issue #63871 (16KB memory pages) but the changes seem to be about message editing UI (which matches issue #64085). Can you clarify if:
The proposal link points to PR 66240 which is about the same UI editing issue. |
|
@Kureev We have an issue where multiple message items cannot be edited, and after submitting all changes, the editing highlight still appears on the edited message. BeforeCleanShot.2025-12-12.at.01.14.14.mp4AfterCleanShot.2025-12-12.at.01.12.01.mp4 |
|
@Kureev There is still a conflict on this PR, along with feedback on the remaining issue. |
|
Hi all, sorry, was on a holidays, will look into it today |
|
I fixed the merge conflict with the |
|
We’re still waiting for @Kureev to handle this issue. |
|
@suneox i'm going to take this over from Alexey. I'll hopefully be able to address this later today, otherwise on Monday! |
|
Working on getting this done now! |
|
🚧 @mountiny has triggered a test Expensify/App build. You can view the workflow run here. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
Cool, I can confirm it's fixed. I'm verifying the remaining bugs and latest changes shortly. |
|
I can reproduce this kind of bug, but not sure how to reproduce, I left my laptop with simulator for 2,3 hours and then this bug happens, the number of line doesn't update after editing another message: Screen.Recording.2026-04-24.at.21.06.08.movBtw, I verified QA bugs and they're fixed |
|
@chrispader The expand and close icons are so close, I think that's a bug, right? it happens when you edit multiple line message:
|
@hungvu193 same as mentioned before, i'm pretty certain this is caused by Metro, reloading should fix it, no? So this shouldn't be an issue in production |
I see 😄 |
fixed! Something got lost in the resolution of merge conflicts.
|
|
Thanks for the fix @chrispader. It looks good from my end. Please resolve the conflicts. @mountiny Can you trigger another build? I think we're ready for another test round. |
|
@hungvu193 i've discussed with @mountiny that we'll merge this next week, since Vit is going to be OOO the rest of the week, to prevent any problems with potential regressions. Will fix TypeScript check and resolve merge conflicts in the meantime! |


Explanation of Change
Adapt message editing behavior based on screen size to match Slack-style UX. On narrow layouts, editing now uses the main bottom composer instead of inline editing inside the message list, preventing layout shifts, disappearing headers, and scroll jumps. On wide layouts, the existing multi-inline editing behavior is preserved.
Fixed Issues
$ #64085
PROPOSAL: #66240 (comment)
Tests
Offline tests
QA Steps
Same as Tests.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.npm run compress-svg)Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop